using System;
using System.Collections.Generic;
using DataContracts;

namespace TrainingWorkshop.MVPWebsite.Role
{
    public interface IRoleController
    {

        List<StatusDTO> GetAllRoleStatus();

        List<RoleViewDTO> SearchRole(string roleName, string status, string authorities, string sortExpression, string sortDirection, double PageSize, int PageIndex, out int pageCnt);


        RoleDTO GetRoleById(int roleId);

        void UpdateRole(RoleDTO role);

        void AddNewRole(RoleDTO role);

        List<AuthorityDTO> GetAllAuthority();


        List<RoleDTO> GetAllRole(string roleName, int status);

        void DeleteRole(int roleId);

        void BatchUpdateRoleStatus(List<RoleDTO> roleList);

        StatusDTO GetRoleStatusById(int statusId);


    }
}
